package com.hqully.labmanage.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * [DeviceRecord]VO
 *
 * @author hqully
 * @date 2022-10-08 10:16:01
 */
@ApiModel(description = "设备使用记录表")
@Data
public class DeviceRecordVO implements Serializable {

    private static final long serialVersionUID = 323345642597565010L;

    /**
     * 物理id
     */
    @ApiModelProperty("物理id")
    private Long id;

    /**
     * 使用记录id
     */
    @ApiModelProperty("使用记录id")
    private String recordId;

    /**
     * 设备id
     */
    @ApiModelProperty("设备id")
    private String deviceId;

    /**
     * 设备名称
     */
    @ApiModelProperty("设备名称")
    private String deviceName;

    /**
     * 设备所属实验室id
     */
    @ApiModelProperty("设备所属实验室id")
    private String labId;

    /**
     * 设备所属实验室名称
     */
    @ApiModelProperty("设备所属实验室名称")
    private String labName;

    /**
     * 设备所属单位id
     */
    @ApiModelProperty("设备所属单位id")
    @NotNull(message = "设备所属单位id不能为空")
    private String unitId;

    /**
     * 设备所属单位名称
     */
    @ApiModelProperty("设备所属单位名称")
    private String unitName;

    /**
     * 使用学生id
     */
    @ApiModelProperty("使用学生id")
    private Long studentId;

    /**
     * 使用学生姓名
     */
    @ApiModelProperty("使用学生姓名")
    private String studentName;

    /**
     * 使用学生专业
     */
    @ApiModelProperty("使用学生专业")
    private String studentMajor;

    /**
     * 设备开始使用时间
     */
    @ApiModelProperty("设备开始使用时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime startTime;

    /**
     * 设备结束使用时间
     */
    @ApiModelProperty("设备结束使用时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime endTime;

    /**
     * 设备使用时长
     */
    @ApiModelProperty("设备使用时长")
    private Long duration;

    /**
     * 设备使用日期
     */
    @ApiModelProperty("设备使用日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDateTime usageDate;

    /**
     * 设备是否正在使用中
     */
    @ApiModelProperty("设备是否正在使用中")
    private Boolean inUse;

}

